Methods and systems for taxonomy assist at data entry points

ABSTRACT

A method and system provide for entering text into a text field by determining complete-text terms, displaying the complete-text terms, and receiving a selection of a complete-text term as text to be entered into the text field. In some cases, a complete-text term can include all prior text entries used to determine the complete-text terms. In other cases, a complete-text term can include only a portion or none of the prior text entries used to determine the complete-text term. The determination of the complete-text terms can be based on a vehicle identifier. The determination of the complete-text terms can be based on one or more complete-text term selection-limiters, such a location, use, or diagnostic trouble code associated with the vehicle. The system can include a vehicle service tool that requests a set of complete-text terms and receives the set from a complete-text term storage device or an off-board processor.

REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 16/852,652, filed on Apr. 20, 2020 and entitled“Methods and systems for taxonomy assist at data entry points.” U.S.patent application Ser. No. 16/852,652 is a continuation application ofU.S. patent application Ser. No. 16/006,175, filed on Jun. 12, 2018,entitled “Methods and systems for taxonomy assist at data entry points,”and issued on Jul. 7, 2020 as U.S. Pat. No. 10,705,686. U.S. patentapplication Ser. No. 16/006,175 is a continuation application of U.S.patent application Ser. No. 14/529,135, filed on Oct. 30, 2014, entitled“Methods and systems for taxonomy assist at data entry points,” andissued on Jul. 17, 2018 as U.S. Pat. No. 10,025,764. U.S. patentapplication Ser. No. 14/529,135, U.S. patent application Ser. No.16/006,175, and U.S. patent application Ser. No. 16/852,652 areincorporated herein by reference.

BACKGROUND

Most vehicles are serviced at least once during their useful life. Inmany instances, a vehicle is serviced at a facility with professionalmechanics (e.g., technicians). The technicians usually prepare or areprovided with a repair order (RO) having details regarding the servicingor repair of a particular vehicle. One or more individuals, such as aservice writer or the technician, can record the details onto the RO.Each individual decides which details to record onto the RO and whichwords make up those details. For any of a variety of reasons such as,but not limited to, a level of experience, a level of education, a timeof day, or a geographical location, one or more individuals may usedifferent words to explain similar details on different repair orders.Using different words to explain similar details on an RO or otherwisecan be detrimental in certain respects such as, but not limited to, anamount of time required to process a completed RO or an amount of timerequired to evaluate completed repair orders to determine trends inservicing vehicles. Improvements pertaining to data entry can reducesuch detriments.

OVERVIEW

Several example embodiments are described herein. In one respect, anexample embodiment can take the form of a method comprising: (i)receiving, by a processor, a vehicle identifier associated with avehicle, (ii) receiving, by the processor, a first text entry enteredwithin a text field displayed by a display, (iii) determining, by theprocessor, one or more complete-text terms, wherein each of the one ormore complete-text terms is associated with the vehicle identifier andthe first text entry, and wherein each of the one or more complete-textterms includes at least one more text character than the first textentry, (iv) displaying, by the display, the one or more complete-textterms prior to selection of a complete-text term from among the one ormore complete-text terms, (v) receiving, by the processor, a selectionof a first complete-text term from among the one or more complete-textterms displayed by the device, and (vi) displaying, by the display, thefirst selected complete-text term within the text field.

In another respect, an example embodiment can take the form of a systemcomprising: a user interface including a display, a processor, and acomputer-readable medium storing computer-readable program instructionsexecutable by the processor to perform a set of functions, the set offunctions comprising: (i) receiving, by the processor, a vehicleidentifier associated with a vehicle, (ii) receiving, by the processor,a first text entry entered within a text field displayed by a display,(iii) determining, by the processor, one or more complete-text terms,wherein each of the one or more complete-text terms is associated withthe vehicle identifier and the first text entry, and wherein each of theone or more complete-text terms includes at least one more textcharacter than the first text entry, (iv) displaying, by the display,the one or more complete-text terms prior to selection of acomplete-text term from among the one or more complete-text terms, (v)receiving, by the processor, a selection of a first complete-text termfrom among the one or more complete-text terms displayed by the device;and (vi) displaying, by the display, the first selected complete-textterm within the text field.

In another respect, an example embodiment can take the form of acomputer-readable medium storing program instructions, that whenexecuted by a processor, cause a set of functions to be performed, theset of functions comprising: (i) receiving, by a processor, a vehicleidentifier associated with a vehicle, (ii) receiving, by the processor,a first text entry entered within a text field displayed by a display,(iii) determining, by the processor, one or more complete-text terms,wherein each of the one or more complete-text terms is associated withthe vehicle identifier and the first text entry, and wherein each of theone or more complete-text terms includes at least one more textcharacter than the first text entry, (iv) displaying, by the display,the one or more complete-text terms prior to selection of acomplete-text term from among the one or more complete-text terms, (v)receiving, by the processor, a selection of a first complete-text termfrom among the one or more complete-text terms displayed by the device,and (vi) displaying, by the display, the first selected complete-textterm within the text field.

These as well as other aspects and advantages will become apparent tothose of ordinary skill in the art by reading the following detaileddescription, with reference where appropriate to the accompanyingdrawings. Further, it should be understood that the embodimentsdescribed in this overview and elsewhere are intended to be examplesonly and do not necessarily limit the scope of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

Example embodiments are described herein with reference to the drawings.

FIG. 1 is a block diagram of a system in accordance with the exampleembodiments.

FIG. 2 is a block diagram of a vehicle service tool (VST) in accordancewith the example embodiments.

FIG. 3 is a diagram of a VST with a display in accordance with theexample embodiments.

FIG. 4 is another diagram of the VST with a display in accordance withthe example embodiments.

FIG. 5 is another diagram of the VST with a display in accordance withthe example embodiments.

FIG. 6 is a flowchart depicting a set of functions that can be carriedout in accordance with one or more example embodiments.

DETAILED DESCRIPTION I. Introduction

This description describes several example embodiments including, butnot limited to, example embodiments that pertain to determining anddisplaying complete-text terms as text characters are entered into atext field. A complete-text term (CTT) can be determined based on (e.g.,conditioned on) any of a variety of complete-text termselection-limiters. Entry of the complete-text terms can provide formore consistent term entry carried out by one or more individuals, whichcan reduce the amount of time and computing resources required toperform post-processing of data including the complete-text terms, butthe example embodiments are not so limited. Entry of complete-text termsonto an RO can provide more efficient use of data storage to storecomputer-readable RO as the complete-text terms can includeabbreviations that are shorter than text an individual may otherwiseselect, but the example embodiments are not so limited.

In this description, the articles “a,” “an” or “the” are used tointroduce elements of the example embodiments. The intent of using thosearticles is that there is one or more of the elements. The intent ofusing the conjunction “or” within a described list of at least two termsis to indicate any of the listed terms or any combination of the listedterms. The use of ordinal numbers such as “first,” “second,” “third” andso on is to distinguish respective elements rather than to denote aparticular order of those elements.

The diagrams, flow charts, and other data shown in the figures areprovided merely as examples and are not intended to be limiting. Many ofthe elements illustrated in the figures or described herein arefunctional elements that can be implemented as discrete or distributedcomponents or in conjunction with other components, and in any suitablecombination and location. Those skilled in the art will appreciate thatother arrangements and elements (e.g., machines, interfaces, functions,orders, or groupings of functions) can be used instead. Furthermore,various functions described as being performed by one or more elementscan be carried out by a processor executing computer-readable programinstructions (CRPI) or by any combination of hardware, firmware, orsoftware.

II. Example Systems

FIG. 1 is a block diagram of a system 100 in accordance with the exampleembodiments described herein. The system 100 includes a vehicle 102having an electronic control unit (ECU) 108 and a data link connector(DLC) 110. The ECU 108 and the DLC 110 can be communicatively connectedto one another by a vehicle communication link 112.

A vehicle, such as vehicle 102, can include an automobile, a motorcycle,a light-duty truck, a medium-duty truck, a heavy-duty truck, asemi-tractor, a farm machine, or some other equipment that can be drivenor otherwise guided along a path (e.g., a paved road or otherwise) onland, in water, or in the air or outer space. A vehicle can include oruse any appropriate voltage or current source, such as a battery, analternator, a fuel cell, and the like, providing any appropriate currentor voltage, such as about 12 volts, about 42 volts, and the like. Avehicle can include or use any desired system or engine. Those systemsor engines can include items that use fossil fuels, such as gasoline,natural gas, propane, and the like, electricity, such as that generatedby a battery, magneto, fuel cell, solar cell and the like, wind andhybrids or combinations thereof.

The vehicle communication link 112 can include one or more conductors(wired or otherwise) or can be wireless. As an example, the vehiclecommunication link 112 can include one or two conductors for carryingvehicle data messages in accordance with a vehicle data message (VDM)protocol. A VDM protocol can include, but is not limited to, a Societyof Automotive Engineers (SAE) J1850 (PWM or VPW) VDM protocol, anInternational Organization of Standardization (ISO) 15764-4 controllerarea network (CAN) VDM protocol, an ISO 9141-2 K-Line VDM protocol, oran ISO 14230-4 KWP2000 K-Line VDM protocol.

The DLC 110 can include an on-board diagnostics (OBD) II connector. AnOBD II connector can include slots for retaining up to 16 connectorterminals, but the DLC 110 is not so limited. The DLC 110 can includeconductor terminals that connect to a conductor in the vehicle 102. Forinstance, the DLC 110 can include connector terminals that connect toconductors that respectively connect to positive and negative terminalsof a vehicle battery. The DLC 110 can include one or more conductorterminals that connect to a conductor of the vehicle communication link112 such that the DLC 110 is communicatively connected to the ECU 108.

The ECU 108 can control various aspects of vehicle operation orcomponents within the vehicle 102. For example, the ECU 108 can includea powertrain system ECU, an engine ECU, a supplemental inflatablerestraint system (i.e., an air bag system) ECU, an entertainment systemECU, or some other ECU. The ECU 108 can receive inputs (e.g., a sensorinput), control output devices (e.g., a solenoid), generate a vehicledata message (VDM) (such as a VDM based on a received input or acontrolled output), and set a diagnostic trouble code (DTC) as beingactive or history for a detected fault or failure condition within thevehicle 102.

Two or more ECU, such as the ECU 108 and a second ECU in the vehicle102, can send a VDM to each other and receive a VDM from the other ECU.Transmission of a VDM can occur over the vehicle communication link 112.In that way, a VDM can be transmitted to the DLC 110. A VDM can includea vehicle identifier or one or more vehicle identifier elementsassociated with the vehicle 102. A VDM can include a use indicatorassociated with the vehicle 102. A VDM can include a DTC identifierpertaining to a DTC set active or otherwise in the vehicle 102 by theECU 108. A VDM can include a geographic location indicator associatedwith the vehicle 102. A VDM can include one or more vehicle parametersand a vehicle parameter identifier (i.e., a vehicle PID). A VDM caninclude two or more of items described in the prior VDM examples or caninclude other data.

The system 100 includes a vehicle service tool (VST) 104 and acomplete-text term (CTT) storage device 106. The VST 104 and the CTTstorage device 106 can be communicatively connected to one another by acommunication link 116. The VST 104 can be communicatively connected tothe vehicle 102 (e.g., to the DLC 110 within the vehicle 102) by way ofa communication link 114. The VST 104 can operate using electrical powerprovided to it from the vehicle battery by way of the DLC 110, but theVST 104 is not so limited. The communication link 114 can include one ormore conductors (wired or otherwise) or can be wireless. Thecommunication link 114 can include a harness with one or more conductorsand a connector that connects to a mating connector on the VST 104 andto the wires within the harness, but the communication link 114 is notso limited. The harness and mating connectors can be configured like aDB-25 connector, but are not so limited.

In accordance with examples in which a communication link, such ascommunication link 114 or any other communication means describedherein, communicates data wirelessly, such wireless communication ofdata can be carried out in accordance with a wireless communicationprotocol (e.g., a wireless communication standard). As an example, awireless communication protocol can be an Institute of Electrical andElectronics Engineers (IEEE) 802.15.1 standard for wireless personalarea networks (PANs) or a Bluetooth version 4.1 standard developed bythe Bluetooth Special Interest Group (SIG) of Kirkland, Wash. As anotherexample, the wireless communication protocol can be an IEEE 802.11standard for wireless LANs, which is sometimes referred to as a Wi-Fistandard. As another example, the wireless communication protocol can bea cellular phone standard, such as standard for 3G or 4G cellular phonecommunications developed by the 3^(rd) Generation Partnership Project(3GPP). Other examples of a wireless communication protocol are alsopossible.

The CTT storage device 106 can include a computer-readable mediumstoring complete-text terms and associated metadata for locatingparticular complete-text terms within the CTT storage device 106. As anexample, the metadata can include vehicle identifiers or vehicleidentifier elements pertaining to one or more vehicles, or one or moreCTT selection-limiters pertaining to one or more vehicles. Associatingvehicle identifiers for multiple vehicle types with a CTT allows forvehicle leveraging functions (as described later herein) with respect tothat CTT and the multiple vehicle types.

The CTT storage device 106 can include a single computer-readable mediumor can include multiple distributed computer-readable mediums. Acomputer-readable medium of the CTT storage device 106 can be collocatedwith the VST 104 or located off-board the VST 104. A computer-readablemedium of the CTT storage device 106 can be collocated with an off-boardprocessor 118 or located off-board the off-board processor 118.

The system 100 also includes the off-board processor 118, which iscommunicatively connected to the complete-text term storage 106 by acommunication link 120. The off-board processor 118 is off-board (e.g.,remote from) the vehicle 102 and is off-board the VST 104. The off-boardprocessor 118 can be configured as, or can be a part of, a server device(not shown) or some other computing device (not shown). The off-boardprocessor 118 can be operated or maintained by an entity that receives,stores, and processes service data (e.g., repair orders from repairshops).

In accordance with examples in which at least a portion of the CTTstorage device 106 is co-located with or proximate to the off-boardprocessor 118 (e.g., on a common circuit board or within a commonhousing), the communication link 120 can include a data bus orelectrical circuit within a server device or other computing device thatincludes the CTT storage device 106 and the off-board processor 118, butis not so limited. In accordance with examples in which at least aportion of the CTT storage device 106 is remote from the off-boardprocessor 118 or a server device or other computing device including theoff-board processor 118, the communication link 120 can comprise aprivate or public communications network such as a local area network, acellular communication network, or the Internet, but is not so limited.

Next, FIG. 2 is a block diagram of a vehicle service tool (VST) 200 inaccordance with the example embodiments described herein. The VST 200can operate within the system 100 in place of, or in addition to, theVST 104, but is not so limited. The VST 104 can be arranged like the VST200. The VST 104 can include the VST 200 or any one or more of thecomponents thereof. One or more of the components of the VST 200 can bearranged as a device or system. A device or system can include one ormore of the components of the VST 200.

The VST 200 includes a processor 202, a data storage device 204, a DLCconnector 206, a user interface 208, a communication link transceiver210, and a location identifier 212, two or more of which can becommunicatively coupled or linked together via a system bus, network, orother connection mechanism 214.

A processor, such as processor 202 or any other processor discussed inthis description, can include one or more general purpose processors(e.g., INTEL® single core microprocessors or INTEL® multicoremicroprocessors) or one or more special purpose processors (e.g.,digital signal processors). Additionally or alternatively, a processorcan include an application specific integrated circuit (ASIC). Processor202 can be configured to execute computer-readable program instructions(CRPI), such as the CRPI 216 shown in FIG. 2.

A data storage device, such as data storage device 204 or any other datastorage device discussed in this description, can include acomputer-readable medium. A computer-readable medium can include anon-transitory computer-readable medium readable by a processor. Acomputer-readable medium can include volatile or non-volatile storagecomponents, such as optical, magnetic, organic or other memory or discstorage, which can be integrated in whole or in part with a processor,or which can be separate from a processor. A computer readable mediumcan include, but is not limited to, a random-access memory (RAM), aread-only memory (ROM), a programmable read-only memory (PROM), anerasable programmable read-only memory (EPROM), an electrically erasableprogrammable read-only memory (EEPROM), a compact disk read-only memory(CD-ROM), or any other device that is capable of providing data orexecutable instructions that may be accessed by a processor, such asprocessor 202.

Additionally or alternatively, a computer-readable medium can include atransitory computer-readable medium. The transitory computer-readablemedium can include, but is not limited to, a communications medium suchas a digital or analog communications medium (e.g., a fiber optic cable,a waveguide, a wired communication link, or a wireless communicationlink).

A computer-readable medium can be referred to by other terms such as,but not limited to, a “computer-readable storage medium,” a “datastorage device,” a “memory device,” or a “memory.” Data storage device204 can be referred to as a “computer-readable data storage device” anda “computer-readable medium.”

The DLC connector 206 can communicatively connect the VST 200 to thevehicle 102. This communicative connection allows the VST 200 totransmit messages (e.g., a VDM request) to the vehicle 102, and toreceive messages (e.g., VDM) from the vehicle 102. In one respect, thecommunicative connection can be carried out using wired conductors ofthe communication link 114. For instance, the DLC connector 206 caninclude a connector with terminals that are connectable to terminalswithin the DLC 110 by way of one or more conductors. As an example, theDLC connector 206 can include an OBD II connector that meets the SAEJ1962 specification such as a connector 16M, part number 12110252,available from Delphi Automotive LLP of Troy, Mich. In another respect,the communicative connection between the VST 200 and the vehicle 102 canbe carried out using a wireless connection of the communication link114. For instance, the DLC connector 206 can include a wirelesstransceiver to transmit VDM to and receive VDM from a version of the DLC110 configured for wireless communication of VDM. The DLC connector 206can transmit a VDM it receives to one or more of the processor 202, thedata storage device 204, the user interface 208, and the communicationlink transceiver 210 over the connection mechanism 214.

The user interface 208 can include user-input elements configured sothat a user of VST 200 can input data for use by the processor 202 oranother element of the VST 200. As an example, the user-input elementscan include a touch screen display. As another example, the user-inputelements can include a user input section (e.g., the user input section304 shown in FIG. 3) having one or more input keys. As another example,the user-input elements can include a pointing device such as acomputing device mouse, a keyboard (e.g., a QWERTY keyboard), a displaypointer (e.g. the display pointer 314 shown in FIG. 3), or a microphonefor receiving spoken inputs.

The user interface 208 can include user-output elements configured foroutputting (e.g., presenting) data to a user of the VST 200. As anexample, the user-output elements can include a display device (or moresimply, a “display”) for visual presentation of data, such as textfields, text entries, drop-down meus, vehicle identifiers, or CTTselection-limiters. As another example, the user-output elements caninclude an audio speaker to audibly present data to a user of the VST200. As an example, the audible data can include sounds (e.g., soundwaves of a constant frequency) to alert a user to various warnings andprompts associated with use of the VST 200. As another example, theaudible data can include text-to-speech content of at least a portion ofdata displayed by the display.

The communication link transceiver 210 can include one or moretransceivers. In one respect, the one or more transceivers can include awireless transceiver and one or more antennas to carry out wirelesscommunications according to a wireless communication protocol. Inanother respect, the one or more transceivers can include a wiredtransceiver to carry out communications over a wired communication linkin accordance with a communication protocol such as, but not limited to,an Transmission Control Protocol/Internet Protocol (TCP/IP) or an IEEE802.3 Ethernet communication protocol for a LAN or otherwise. Thecommunication link transceiver 210 can establish a communicativeconnection between the CTT storage device 106 or the off-board processor120, but is not so limited.

As an example, the communication link transceiver 210 can transmit arequest for a full set of complete-text terms based on a vehicleidentifier or one or more CTT selection-limiters (e.g., a first vehicleidentifier (e.g., Chevrolet Corvette), a first CTT selection-limiter(DTC P0115), and a second CTT selection-limiter (e.g., distance: 75,000miles). The communication link transceiver 210 can receive a full set ofcomplete-text terms from the CTT storage device 106 or the off-boardprocessor 120. The VST 200 can store a full set of complete-text termswithin the CTT 218 of the data storage device 204. As a result ofreceiving a full set of complete-text terms, the VST 200 can search thefull set of complete-text terms to determine a partial set ofcomplete-text terms that should be displayed after an occurrence of atext entry by the user interface 208. If a change in one or more of thevehicle identifier or a CTT selection-limiter occurs, the VST 200 canrequest a different full set of complete-text terms based on the changedvehicle identifier or the CTT selection-limiter.

As another example, the communication link transceiver 210 can transmita request for a partial set of complete-text terms based on the vehicleidentifier, one or more CTT selection-limiters (if any entered), priortext entries (if any entered), and a most-recent text entry entered bythe user interface 208. Transmission of a partial set of complete-textterms over a communication link to the communication link transceiver210 can typically occur in less time and use less communication linkresources than transmission of a full set of complete-text terms overthe same communication link.

The location identifier 212 can include a device for determining alocation associated with the vehicle 102 or the VST 200. As an example,the location identifier 212 can include a global positioning system(GPS) receiver and related circuitry for receiving signals from GPSsatellites or a terrestrial station. The GPS receiver can determine alocation (e.g., a latitude, a longitude, and an elevation) based, atleast in part, on the signals it receives. Alternatively, the GPSreceiver can provide signals to the processor 202 so that the processor202 can determine the location. As another example, the locationidentifier 212 can determine the location based on a VDM received at theDLC connector 206 from the vehicle 102. In accordance with that example,the location identifier 212 can include a computer-readable moduleexecutable by the processor 202.

A determined location can be used as a complete-text termselection-limiter. As an example, the determined location can be AnnArbor, Mich. The complete-text term storage device 106 can include CTTassociated with metadata indicating a location or geographic regionincluding multiple locations. The determined location can be used as aCTT selection-limiter such that a set of CTT provided to the VST 200include the CTT associated with the determined location or a geographiclocation including the determined location and excludes the CTT that arenot associated with the determined location or the geographic locationincluding the determined location. A determined location can be used forone or more other purposes.

The data storage device 204 can store various data. For example, thedata storage device 204 can store the CRPI 216, the complete-text terms218, text entries 220, vehicle information 222, and CTTselection-limiters 224, but the data storage device 204 is not solimited.

In general, the CRPI 216, or any other CRPI described herein, includeprogram instructions executable by a processor. Further, and in general,CRPI can include various structures, modules, or routines, but are notso limited. Further, and in general, CRPI can be written using acomputer-programming language such as C++, but are not so limited.

In particular, the CRPI 216 can include program instructions executableby the processor 202 to carry out any one or more functions describedherein or represented by the figures as being performed, at least inpart, by a VST or a component thereof. The CRPI 216 can be executed toperform any function described herein or shown or represented in anyfigure as being performed by a VST or a component thereof.

The CTT 218 can include one or more sets of complete-text terms. In onerespect, the CTT 218 can include a full set of CTT that is based on, atleast in part, a vehicle identifier. A full set of CTT can further bebased on one or more CTT selection-limiters. The VST 200 can use a fullset of CTT for entering text into a text entry field without having torequest a different set of CTT from the CTT storage device 106 untilthere is a change in the vehicle identifier or a CTT selection limiterentered by the user interface 208. The processor 202 can execute programinstructions of the CRPI 216 to cause a full set of CTT, or some portionthereof, to be deleted from the CTT 218. For example, the processor 202can execute those program instructions in response to the VST 200requesting another set (full or partial) of CTT, upon receiving anotherset (full or partial) of CTT, or for some other reason.

In another respect, the CTT 218 can include a partial set of CTT basedon, at least in part, a vehicle identifier and at least one text entrywithin a text field. The at least one text entry can be a single textentry (e.g., the most-recent text entry). Alternatively, the at leastone text entry can be multiple text entries (e.g., the most-recent textentry and at least one prior text entry received prior to themost-recent text entry). The partial set of CTT can be further based onone or more CTT selection limiters. A full set of CTT can includemultiple partial sets of CTT.

The text entries 220 can include text entries entered by the userinterface 208. The text entries 220 can include a text entry within atext field for a particular text category. The text category caninclude, but is not limited to, a symptom category, a test performedcategory, a part failure category, a labor operation category, or amiscellaneous note category. The text category can be displayed by theuser interface 208 (e.g., the text category 332 shown in FIG. 3). Thetext entries for multiple categories can be associated with a singlerepair order. For instance, each text entry for a particular RO can betagged with an RO number that is associated with the particular RO.

A text entry field can be displayed by the user interface 208 andselected for entering a text entry. A text entry field can be initiallyempty. A first entry in a text entry field pertaining to a part failurecategory could be the letter “E.” Table 1 shows an example of a seriesof text entries starting with the letter “E” until the letter “D” in theword “PAD.” Table 1 also shows an example of complete-text terms thatcan be selected for the text entry field after the identified textentries have been entered. Starting from the initial text entry “E” inTable 1, as additional text entries are entered by the user interface208, the number of selectable CTT is or are (i) the same as the thoseavailable for a prior text entry, (ii) reduced if the most-recent textentry eliminates at least one earlier-displayed selectable CTT, or (iii)increased if the most-recent text entry results in a term that does notmatch any of the earlier-displayed selectable CTT. To speed up the textentry process, a user can select a displayed complete-text term usingthe user interface 208 without having to enter each text term of thecomplete-text term.

TABLE 1 Text entries Complete-text terms (CTT) E EGR valve, Emergencybrake, Emergency brake light, Emergency brake pedal, Emission valve,Engine, Engine block, Exhaust pipe, Exhaust gas recirculation valve EMEmergency brake, Emergency brake light, Emergency brake pedal, Emissionvalve EME Emergency brake, Emergency brake light, Emergency brake pedalEMER Emergency brake, Emergency brake light, Emergency brake pedal EMERGEmergency brake, Emergency brake light, Emergency brake pedal EMERGEEmergency brake, Emergency brake light, Emergency brake pedal EMERGENEmergency brake, Emergency brake light, Emergency brake pedal EMERGENCEmergency brake, Emergency brake light, Emergency brake pedal EMERGENCYEmergency brake, Emergency brake light, Emergency brake pedal EMERGENCYB Emergency brake, Emergency brake light, Emergency brake pedalEMERGENCY Emergency brake, Emergency brake light, Emergency BR brakepedal EMERGENCY Emergency brake, Emergency brake light, Emergency BRAbrake pedal EMERGENCY Emergency brake, Emergency brake light, EmergencyBRAK brake pedal EMERGENCY Emergency brake, Emergency brake light,Emergency BRAKE brake pedal EMERGENCY Emergency brake pedal BRAKE PEMERGENCY Emergency brake pedal BRAKE PE EMERGENCY Emergency brake pedalBRAKE PED EMERGENCY Emergency brake pedal BRAKE PEDA EMERGENCY Emergencybrake pedal BRAKE PEDAL EMERGENCY Emergency brake pedal p BRAKE PEDAL PEMERGENCY Emergency brake pedal pa BRAKE PEDAL PA EMERGENCY Emergencybrake pedal pad BRAKE PEDAL PAD

In accordance with the data shown in Table 1, the CTT 218 may notinitially include a CTT that matches a desired text term to be entered.As shown in Table 1, the desired term to be entered is “Emergency brakepedal pad.” A desired term that is not within the CTT 218 can be a newCTT. The processor 202 can cause a new CTT to be entered into the CTT218. The processor 202 can execute program instructions of the CRPI 216to transmit a new CTT to the CTT storage device 106 or to the off-boardprocessor 118 for modifying one or more partial or full set ofcomplete-text terms to include the new CTT. A vehicle identifier with orwithout one or more CTT selection-limiters can be transmitted with thenew CTT for storage as metadata associated with the new CTT.

In accordance with the data shown in Table 1, row 3, a text entry of “M”is within a sequence of multiple text entries (i.e., “E” and “M”). Priorto receiving the text entry “M,” the CTT included EGR valve, Engine,Engine block, Exhaust pipe, and Exhaust gas recirculation valve. Afterreceiving the text entry “M,” the CTT no longer include EGR valve,Engine, Engine block, Exhaust pipe, and Exhaust gas recirculation valveas the “M” does not match the second letter of any of those CTT.

The vehicle information 222 can include one or more vehicle identifiers.Each vehicle identifier can include a plurality of vehicle identifierelements. Each vehicle identifier can pertain to a particular vehicle orto a vehicle type (i.e., a type of vehicle). The particular vehicle caninclude a current vehicle of interest, such as a vehicle connected tothe VST 200 or a vehicle for which an RO is to be prepared. Theparticular vehicle type can identify the vehicle type that pertains tothe current vehicle of interest. The vehicle identifier elements caninclude one or more vehicle identifier elements such as, but not limitedto, a vehicle model name, a vehicle make, a vehicle model year, anengine type, a system type, a vehicle identification number (VIN), or aportion of a VIN. The vehicle identifier elements pertaining to modelyear, make, model name, and engine type can be abbreviated as Y/M/M/E,and if system type is added, the abbreviation becomes Y/M/M/E/S. One ormore of the vehicle identifier elements can include a regular productionoption (RPO) code or an optional equipment code. The vehicle informationcan include vehicle identifier elements that can be displayed by andselected by use of the user interface 208 to establish a vehicleidentifier of the current vehicle of interest.

The vehicle information 222 can include one or more vehicle identifierelements entered by the user interface 208, but are not so limited. Thevehicle information 222 can include one or more vehicle identifierelements that the processor 202 determines from a VDM received at theDLC connector 206 from the vehicle 102. That VDM, for example, caninclude a VIN associated with the vehicle 102. A VIN can includealphanumeric characters, but is not so limited.

The CTT selection-limiters 224 include limiters (e.g., characteristics)that can be selected, or otherwise entered, to limit which complete-textterms are provided to the VST 200 and subsequently displayed by the userinterface 208 for selection to complete a text entry. The CTTselection-limiters 224 can be selected by the user interface 208 or canbe determined automatically from a VDM received by the DLC connector206, but are not so limited.

As an example, the CTT selection-limiters 224 can include a useindicator that indicates a time associated with a vehicle or a distanceassociated with the vehicle. The time associated with the vehicle canindicate an amount of a time an engine within the vehicle has been usedsince a prior instance of service to that engine, but the time is not solimited. The distance associated with the vehicle can indicate a numberof miles (or kilometers) that the vehicle has been driven since thevehicle was built, but the distance is not so limited. A use indicatorcan be used to exclude providing or displaying CTT that are notassociated with the use indicator. For instance, if the vehicle 102 hasbeen driven 75,000 miles, CTT associated with a use indicator of 100,000miles or more can be excluded from providing or displaying by the VST200.

As another example, the CTT selection-limiters 224 can include adiagnostic trouble code identifier. A DTC identifier can indicate whichECU or system within the vehicle 102 set the DTC, a current state of theDTC (e.g., active or history), and a DTC designator, such as P0115. ADTC identifier can be used to exclude providing or displaying CTT thatare not associated with the DTC identifier.

As another example, the CTT selection-limiters 224 can include ageographic location indicator. A geographical location indicator canindicate a location identified by use of the location identifier 212. Ageographical location indicator can indicate a location of the VST 200or a location associated with the vehicle 102. A location associatedwith the vehicle can indicate a location at which the vehicle 102 iscurrently located, a most-recent determined location of the vehicle, alocation at which the vehicle was manufactured, a location at which anowner of the vehicle resides, or some other location associated with thevehicle 102. A geographic location indicator can be used to excludeproviding or displaying CTT that are not associated with the geographiclocation indicator.

As another example, the CTT selection-limiters 224 can include aplurality of text category indicators. The plurality of text categoryindicators can include a text category such as, but not limited to, asymptom category, a test performed category, a part failure category, alabor operation category, or a miscellaneous note category. One of thetext category indicators can represent a current text category. Thecurrent text category can be determined automatically in response toselecting a text field associated with the current text category by adisplay pointer or otherwise, or in response to entering text into acurrent text field. A text category indicator can be used to excludeproviding or displaying CTT that are not associated with a current textcategory. For example, if the current text category is a symptomcategory, a CTT associated with a part failure category that is notassociated with a symptom category can be excluded from displaying orproviding to the VST until the part failure category is a current textcategory.

Next, FIG. 3, FIG. 4, and FIG. 5 are diagrams of an example vehicleservice tool 300 in accordance with the example embodiments. VST 104 andVST 200 can include any one or more of the described or depictedfeatures of the VST 300, but the VST 104 and the VST 200 are not solimited. The VST 300 can operate within the system 100 in place of, orin addition to, the VST 104 or the VST 200, but the VST 300 is not solimited.

The VST 300 includes a display 302, a user input section 304, and ahousing 326. The display 302 and the user input section 304 can be apart of a user interface, such as the user interface 208. As an example,the display 302 can include a touch-screen display such as a color touchscreen used on the MODIS™ ultra integrated diagnostic system (referencenumber EEMS328 W) available from Snap-on Incorporated of Kenosha, Wis.As another example, the display 302 can include a backlit color liquidcrystal display (LCD) having a resistive touch screen or panel. Asanother example, the display 302 can include a plasma display or a lightemitting diode (LED) display. Other examples of the display 302 are alsopossible.

The user input section 304 can include one or more input selectors. Forexample, the user input section 304 can include input keys 316, 318,320, 322, and 324. Those user input keys can be arranged in any of avariety of configurations. For instance, input key 316 can represent anup-direction selection, input key 318 can represent a right-directionselection, input key 320 can represent a down-direction selection, inputkey 322 can represent a left-direction selection, and input key 324 canrepresent an enter selection. Pressing one of the input keys 316, 318,320, and 322 can cause a display pointer 314 to move in a directionrepresented by the input key being pressed. Pressing the input key 324can cause selection of a displayed data element to which the displaypointer 314 is pointing.

The display 302 can display (e.g., present visually) a variety of dataelements and data within each of those data elements. For purposes ofthis description, a data element can include or be referred to as a“text field” or more simply a “field.” Visually presenting a dataelement can be referred to as displaying the data element by, on, at, orwithin the display 302, but is not so limited. As an example, thedisplay 302 can display a vehicle identifier (ID) field 306, a textfield 308, a complete-text term field 310, a character selection field312, a DTC identifier field 328, a vehicle leveraging indicator 330, atext category indicator 332, a use indicator 334, and a locationindicator 336. Other examples of the data elements displayable orvisually presentable by the display 302 are also possible.

The vehicle ID field 306 can display an identifier of a particularvehicle type or an identifier of a particular instance of a particularvehicle. As an example, the identifier displayed by the vehicle ID field306 can indicate a Y/M/M/E/S of a vehicle type, such as a 2014 (Year),General Motors (Make), Cadillac Escalade (Model), 6.2 L V8 (Engine) andall-wheel drive system (System). The vehicle leveraging indicator 330indicates whether a vehicle leveraging feature is turned on (e.g.,enabled) or turned off (e.g., disabled).

In one respect, when the vehicle leveraging feature is turned on, uponentry or selection of a vehicle identifier for the vehicle ID field 306,vehicles similar to the vehicle or vehicle type indicated by the vehicleID field 306 can be included within the vehicle ID field 306 or the dataselectable by one or more other fields shown on the display 302 caninclude additional data associated with the similar vehicles even thoughthe additional data may not be associated with the vehicle or thevehicle type upon which the vehicle leveraging feature is based todetermine the similar vehicle(s). Vehicle leveraging can also result inexcluding data if the data is not associated with all common vehicletypes for which the vehicle leveraging is carried out.

As an example, when the vehicle ID field 306 initially indicates theCadillac Escalade model and the vehicle leveraging feature is turned on,the vehicle ID field 306 can subsequently display a vehicle identifierfor a Chevrolet Tahoe and a GMC Yukon. If the vehicle leveraging featureis turned off while displaying vehicle identifiers for an initiallyentered vehicle identifier and one or more similar vehicles, the vehicleID field 306 can responsively display the initially entered vehicleidentifier without the vehicle identifiers of the similar vehicles. Theadditional data associated with the similar vehicles, but not associatedwith vehicles associated with the initial vehicle identifier would notbe displayed as being selectable by the one or more fields shown on thedisplay 302.

The text field 308 can display text (e.g., alphabet letters, numerals,non-alphabetic-and-non-numeral characters, or complete-text terms). Thedisplayed text can be displayed in response to entering or selecting thetext from the complete-text term field 310 or the character selectionfield 312. The text displayed in the text field 308 can be stored withinthe text entries 220 as the text is being entered into text field 308(e.g., a partial text entry storage) or after the complete text to beentered in the text field 308 has been entered (e.g., a complete textentry storage). The text field 308 is an example of a data entry pointdisplayable by the display 302. Other examples of data entry points forwhich a CTT can be determined, displayed and selected are also possible.

The complete-text term field 310 displays CTT that are selectable forentry into a text field, such as the text field 308. The user inputsection 304 can be used to guide the display pointer 314 to one of thedisplayed CTT for selection and entry into the text field. For example,the CTT number 2 “Engine” can be selected from the CTT field 310, asshown in FIG. 3, and displayed in the text field 308 as shown in FIG. 4and FIG. 5. In FIG. 5, the text field 308 also displays the CTT “Runs.”As shown in FIG. 4, the CTT “Runs” is displayed and selectable from theCTT field 310 after selection of the CTT “Engine.”

The character selection field 312 can include a plurality of selectablecharacters. As an example, the selectable characters can includecharacters of an alphabet (e.g., a Latin alphabet), the numerals 0 to 9,or non-alphabetic-and-non-numeral characters found on a QWERTY keyboard.Other examples of selectable characters displayable by the characterselection field 312 are also possible. One or more of the displaypointer 314 and an input key of the user input section 304 can be usedto select a character displayed by the character selection field 312.Selection of a character displayed by the character selection field 312can be detected by the processor 202 and responsively inserted into thetext field 308 or responsively cause (i) a selection of a complete-textterm displayed by the complete-text term field 310, or (ii) a change tothe mix of complete-text terms displayed by the complete-text termfield. That change can include removal of complete-text terms whosefirst or next character do or does not match the selected character.

The DTC ID field 328 can indicate one or more DTC. The one or more DTCcan be the DTC that are set within the vehicle 102, but are not solimited. The processor 202 can determine the one or more DTC from a VDMreceived at the DLC connector 206. The DTC ID field 328 can indicatewhether each displayed DTC is an active DTC or is a historical DTC. InFIG. 3, the DTC ID field 328 identifies three DTC, namely DTC 1, DTC 2,and DTC 3. After selection of the complete-text term “Engine” from thecomplete-text term field 310 shown in FIG. 3, as shown in FIG. 4, theDTC ID field 328 continues to show DTC 1 and DTC 2, but not DTC 3. Insuch a case, DTC 3 may not be associated with the engine of vehicle 102.If a different CTT had been selected from the CTT field 310 as shown inFIG. 3, the DTC ID field 328 could display a set of DTC other than DTC 1and DTC 2.

The DTC ID field 328 can indicate a choice of DTC identifiers to use asa CTT selection limiter. For example, as shown in FIG. 4, the DTC IDfield 328 displays DTC 1 and DTC 2 are shown with white backgrounds toindicate that neither of those DTC identifiers has been selected as aCTT selection-limiter. As shown in FIG. 5, the DTC ID field 328 againdisplays DTC 1 and DTC 2, but the DTC 2 identifier is highlighted grayto indicate that DTC 2 has been selected as a selection-limiter.Selection of one or more DTC displayed by the DTC ID field 328 canchange the CTT that are displayed by the CTT field 310.

The vehicle leveraging indicator 330 can indicate whether a vehicleleveraging mode (VLM) of the VST 200 is turned on or turned off. Turningthe VLM on or off can occur automatically or manually. One or more ofthe display pointer 314 and an input key of the user input section 304can be used to manually turn the VLM on or off. Switching the VLM fromon-to-off or from off-to-on can cause the processor 202 to switch whichdata is displayed by the one or more of the vehicle ID field 306, thetext field 308, the complete-text term field 310, and the DTC ID field328.

As an example, in response to the VLM turning on, the vehicle ID field306 can switch to display identifiers of two or more different vehicletypes (e.g., Chevrolet Tahoe, Chevrolet Suburban, GMC Tahoe, GMCSuburban, and Cadillac Escalade) instead of a single vehicle type (e.g.,Cadillac Escalade). In response to the VLM turning off, the vehicle IDfield 306 can switch back to displaying a vehicle ID of a single vehicletype or a unique instance of the particular vehicle type instead ofdisplaying the vehicle identifiers of two or more different vehicletypes.

As another example, in response to the VLM turning on, the text field308 can switch to display a different set of text terms (e.g., multiplevehicle identifiers of the two or more different vehicle types insteadof a single vehicle identifier). In response to the VLM turning off, thetext field 308 can switch to display a different set of text terms(e.g., a single vehicle identifier instead of the multiple vehicleidentifiers of the two or more different vehicle types).

As another example, in response to the VLM turning on, the complete-textterm field 310 can display a different quantity of complete-text terms,a different mix of complete-text terms, or two or more of thecomplete-text terms in a different order (e.g., sequence). The processor302 can determine which complete-text terms are applicable to the two ormore different vehicle types and cause the determinedcomplete-text-terms to be displayed by the complete-text term field 310.In response to the VLM turning off, the processor 302 can determinewhich complete-text terms are applicable to the single vehicle type or aunique instance of the particular vehicle type and cause the determinedcomplete-text-terms to be displayed by the complete-text term field 310.

As another example, in response to the VLM turning on, the DTC ID field328 can display a different quantity of DTC identifiers, a different mixof DTC identifiers, or two or more of the DTC identifiers in a differentorder. The processor 302 can determine which DTC identifiers areapplicable to the two or more different vehicle types and cause thedetermined DTC identifiers to be displayed by the DTC ID field 328. Inresponse to the VLM turning off, the processor 302 can determine whichDTC identifiers are applicable to the single vehicle type or a uniqueinstance of the particular vehicle type and cause the determined DTCidentifiers to be displayed by the DTC ID field 328.

The text category indicator 332 can indicate any of a variety of textcategories associated with the text being entered into the text field308. As an example, the indicated text category can include, but is notlimited to, a symptom category, a test performed category, a partfailure category, a labor operation category, or a miscellaneous notecategory. One or more of the display pointer 314 and an input key of theuser input section 304 can be used to select the text category indicatedby the text category indicator 332. Selecting a text category notcurrently displayed by the text category indicator 332 can triggerstoring a text entry into the text entries 220 or to clear the textfield 308 such that any text currently displayed in the text field 308is removed from the text field 308.

The use indicator 334 can display a CTT selection-limiter pertaining touse of the vehicle 102. The use indicator 334 can indicate a time ordistance associated with the vehicle 102. At least one of the time ordistance can be entered manually via the user input section 304 ordetermined automatically by the processor 202 from a VDM received by theDLC connector 206. If a CTT selection-limiter pertaining to use of thevehicle 102 has not been entered, the display 302 can highlight the useindicator 334 to prompt a user to input a time or distance associatedwith the vehicle. Other selection-limiter fields can be highlighted aswell to prompt a user to input or enable the highlightedselection-limiter.

The location indicator 336 can display a CTT selection-limiterpertaining to a location, such as a location associated with the VST 300or a location associated with the vehicle 102. At least one of alocation associated with the VST 300 or a location associated with thevehicle 102 can be entered manually via the user input section 304 ordetermined automatically by the processor 202 from a VDM received by theDLC connector 206. If a CTT selection-limiter pertaining to a locationhas not been entered, the display 302 can highlight the locationindicator 336 to prompt a user to input a location, such as a locationassociated with the VST 300 or a location associated with the vehicle102.

The housing 326 can provide support or protection for at least a portionof any of the components of the VST 300, which can include any one ormore of the components of the VST 200. The housing 326 can include oneor more hand grips. The housing 326 can include one or more portopenings for connecting a communication link, such as communication link114 to the VST 300.

III. Example Operation

Next, FIG. 6 is a flowchart depicting a set of functions 600 (or moresimply “the set 600”) that can be carried out in accordance with one ormore example embodiments described herein. The set 600 includes thefunctions shown in blocks labeled with even numbers 602 through 612inclusive. The following description of the set 600 includes referencesto elements shown in other figures in this application, but thefunctions of the set 600 are not limited to be carried out by thereferenced elements. A variety of methods can be performed using one ormore of the functions shown in the set 600. Any of those methods can beperformed with other functions such as one or more of the otherfunctions described herein.

Block 602 includes receiving a vehicle identifier associated with avehicle, such as the vehicle 102. Various components of a VST canreceive a vehicle ID. For example, the processor 202, the user interface208, the DLC connector 206, or the communication link transceiver 210can receive a vehicle ID. The processor 202 can receive the vehicle IDfrom the user interface 208, the DLC connector 206, or the communicationlink transceiver 210. The user interface 208 can receive the vehicle IDby selection of the vehicle ID using one or more of the characterselection 312, the display pointer 314 and an input key of the userinput section 304. The DLC connector 206 can receive the vehicle ID fromthe ECU 108 within the vehicle 102 by way of the communication link 114.The communication link transceiver 210 can receive a vehicle ID from acomputing device off-board the VST 200.

The vehicle associated with the received vehicle identifier can includea vehicle that is connected to the VST 200 by way of the communicationlink 114. Alternatively, the vehicle associated with the receivedvehicle identifier can include a vehicle that is not connected to theVST 200, or even in proximity to the VST 200, when the vehicleidentifier is received. Accordingly, as will be discussed, complete-textterms can be determined by the processor 200 even if the vehicleassociated with the vehicle identifier is not in proximity to the VST200.

Receiving a vehicle ID can include receiving one or more vehicle IDelements such as, but not limited to, any of the vehicle ID elementsdiscussed in this description. Receiving multiple vehicle ID elementscan include a first component of a VST (e.g., the DLC connector 206)receiving a first vehicle ID element (e.g., an engine type) and a secondcomponent of the VST (e.g., the user interface 208) receiving a secondvehicle ID element (e.g., a vehicle model year). Receiving a vehicle IDelement can include the display pointer 314 or an input key of the userinput section 304 being used to select the vehicle ID element from alist of selectable vehicle ID elements displayed by the display 302.

Next, block 604 includes receiving a first text entry entered within atext field displayed by a display, such as a display of user interface208 or display 302. The character selection field 312 can be used toselect characters (e.g., alphabet letters, numerals,non-alphabetic-and-non-numeral characters, or complete-text terms) forentering into the text field 308. For example, the first text entry canbe any of the letters shown in the text entries of Table 1. Theprocessor 202 can execute the CRPI 216 to determine each text entry andto cause each text entry to be stored within the text entries 220 and tobe displayed by the display.

Next, block 606 includes determining one or more complete-text terms.The processor 202 can execute the CRPI 216 to determine the one or morecomplete-text terms. Each of the one or more complete-text terms can beassociated with the vehicle identifier and the first text entry. Each ofthe one or more complete-text terms can include at least one more textcharacter than the first text entry.

The one or more CTT can include multiple CTT (i.e., at least two CTT). Aprocessor, such as processor 202 or the off-board processor 118, candetermine an order for displaying the multiple CTT. The order of the CTTcan be based, at least in part, on a statistic corresponding to each CTThaving been selected or non-selected as a CTT for insertion into a textfield while the CTT was displayed in response to prior instances oftext-entry into a displayed text field.

Next, block 608 includes displaying the one or more complete-text termsprior to selection of a complete-text term from among the one or morecomplete-text terms. The user interface 208, or more particularly thedisplay 302, can display the one or more complete-text terms. Inaccordance with an example in which multiple CTT are displayed, themultiple CTT can be displayed in an order determined by a processor,such as processor 202 or the off-board processor 118. Displaying the CTTin an order in which the most popular CTT are listed first or at the topof a list of CTT can be helpful to a user of the VST 200 so that theuser does not have to scroll through less popular CTT to locate adesired CTT.

Next, block 610 includes receiving a selection of a first complete-textterm from among the one or more complete-text terms displayed by thedisplay 302. The display pointer 314 or an input key from the user inputsection 304 can be used to select the first complete-text term from theCTT field 310. The processor 202 can execute the CRPI 216 to receive theselection from the user interface 208 by way of the communicationmechanism 214.

In one respect, the selected complete-text term includes the first textentry (e.g., an initial text entry in an empty text field or a textentry after an initial text entry in an empty text field). Table 1 showsdata in which all of the text entries are included in the selectedcomplete-text term. The initial text entry in Table 1 is “E” shown inthe second row of Table 1. The last letter in the text entry of each rowin Table 1 can be considered a most-recent text entry until anothermost-recent text entry is entered for a lower row of Table 1. Any textentry in Table 1 or the most-recent text entry in each row can beconsidered the first text entry received at block 604.

In another respect, the selected complete-text term does not include thefirst text entry. For example, the text entries could spell out the term“FIREWALL,” which is an obsolete term according to at least some vehiclemanufacturers. In response to an attempt to enter or select the term“FIREWALL,” the processor 202 may automatically insert the term “COWL”into the text field 308 since, according to at least some vehiclemanufacturers, “COWL” is a more acceptable term for the area of avehicle formerly referred to as a firewall. The CTT term field 310 maydisplay the term “FIREWALL” as “FIREWALL (COWL)” to provide anindication that a standard term (“COWL”) will be inserted into the textfield 308 instead of the term including all of the text entered toselect the CTT. The VST 200 can include an override feature such thatthe standard term (e.g., “COWL”) is presented to the user for enteringinto the text field 308, yet the user can be allowed to enter anon-standard term (e.g., “FIREWALL”) if desired by the user.

Next, block 612 includes displaying the first selected complete-textterm within the text field. The user interface 208, or more particularlythe display 302, can display the first first-selected complete-text termin the text field 308. As an example, if the first selected CTT is theterm “Engine” selected from the CTT term field 310, as shown in FIG. 3,as shown in FIG. 4 and FIG. 5, the display 302 displays the “Engine” CTTin the text field 308.

Additional functions that can be performed alone or with one or moreother functions described herein are now described. The description ofthese additional functions includes references to elements shown in thefigures, but the additional functions are not limited to be carried outby the referenced elements. Some of these additional functions includemultiple additional functions.

A first additional function includes receiving a second text entryentered within the text field 308 displaying the first selected CTT. Thefirst additional function can include the processor 202 determining oneor more additional CTT. Each of the one or more additional CTT can beassociated with the vehicle identifier and the second text entry. Eachof the one or more additional CTT can be associated with the firstselected CTT and a position relative to the first selected CTT (e.g., aposition occurring immediately after the first selected CTT). Each ofthe one or more additional CTT can include at least one more textcharacter than the second text entry. The first additional function caninclude displaying, by the display 302, the one or more additional CTTprior to selection of a CTT from among the one or more additional CTT.The first additional function can include receiving, by the processor202, a selection of a second CTT from among the one or more additionalCTT displayed by the display 302. The first additional function caninclude displaying, by the display 302, the first selected CTT and thesecond selected CTT within the text field 308.

A second additional function includes receiving a complete-text termselection-limiter. The determining function described above with respectto block 606 (or any other CTT determining function described herein)can be further based on the CTT selection-limiter. The CTTselection-limiter can be received by the processor 202, the data storagedevice 204, the DLC connector 206, the user interface 208, or thecommunication link transceiver 210. A CTT selection-limiter can include,but is not limited to, a use indicator indicating a time associated withthe vehicle 102, a use indicator indicating a distance associated withthe vehicle 102, a diagnostic trouble code identifier, a geographiclocation indicator, or a text category indicator.

Receiving the CTT selection-limiter can include receiving multiple CTTselection-limiters. The multiple CTT selection-limiters can be receivedby the same VST component or different VST components. For example, oneor more CTT selection-limiters can be received by the DLC connector 206receiving, from the vehicle 102, a vehicle data message including theone or more CTT selection-limiters or data from which the one or moreCTT selection-limiters can be derived, and one or more other CTTselection-limiters can be received by the user interface 208.

A third additional function includes storing, by a computer-readablemedium, a database of complete-text terms. The database or the CTTthereof can form, or be part of, a taxonomy of terms. The taxonomy ofCTT can assist with entering data into a text field, such as the textfield 308. The computer-readable medium can store, for each CTT, atleast one prior text entry associated with that CTT. The determiningfunction at block 606 can include the processor 202 determining, fromthe database, that the at least one prior text entry associated with thecomplete-text terms matches the first text entry received at block 602.The database can include a set of CTT associated with the first textentry. The set of CTT can include the selected CTT and at least oneother CTT. The CTT of the set of CTT can be ordered in a sequence basedon a rate (or a statistic indicating the rate) at which each of the CTTwas previously selected to complete a text term within the text field308.

A fourth additional function includes generating, by the processor 202,a repair order including a selected complete-text term (e.g., the CTTselected at block 610) within a repair order field corresponding to atext field for which the CTT was selected or displayed. The repair ordergenerated using the selected CTT can be tagged by the processor 202 toindicate that the selected CTT, alone or with one or more other selectedCTT, was inserted into the repair order field. During a postvehicle-repair process, a processor, such as the off-board processor 118can determine that an RO is tagged to indicate a CTT has been insertedinto an RO field on the RO. Based on that determination, the off-boardprocessor 118 can skip searching for common-text terms for the tagged ROfields as those fields already include a CTT. The burden on theoff-board processor 118 to search for CTT for an RO field can thereforebe reduced.

Displaying the one or more complete-text terms at block 608 can be basedon a statistic regarding prior selection or non-selection of eachcomplete-text term of the one or more complete-text terms. Displayingthe one or more complete-text terms based on the statistic can includedisplaying two or more CTT in a particular order, but is not so limited.A fifth additional function includes modifying that statistic regardingselection or non-selection of each complete-text term from among the oneor more complete-text terms displayed at block 608. During a subsequentdisplaying of one or more complete-text terms based on the same dataused to determine the one or more complete-text terms at block 606, thesubsequently displayed one or more complete-text terms can be displayedin an order based upon the modified statistic.

A sixth additional function includes receiving a selection of enabling avehicle leveraging mode or disabling the vehicle leveraging mode. Theprocessor 202 can change the vehicle leveraging indicator 330 so that itindicates whether the vehicle leveraging mode is enabled or disabled.The one or more complete-text terms displayed within the CTT text field310 can be based on whether the vehicle leveraging indicator is enabledor disabled and if one or more other vehicle types similar to thevehicle type of vehicle 102 have complete-text terms for determining theone or more complete-text terms at block 606.

IV. Example Computer-Readable Medium

As indicated above, the data storage device 204 includes CRPI 216.Accordingly, a computer-readable medium can store program instructions,that when executed by a computing device (e.g., the processor 202),cause a set of functions to be performed. For purposes of thisdescription, this set of functions is referred to herein as “the set ofexample functions.”

As an example, the set of example functions can include: (i) receiving,by a processor, a vehicle identifier associated with a vehicle, (ii)receiving, by the processor, a first text entry entered within a textfield displayed by a display, (iii) determining, by the processor, oneor more complete-text terms, (iv) displaying, by the display, the one ormore complete-text terms prior to selection of a complete-text term fromamong the one or more complete-text terms, (v) receiving, by theprocessor, a selection of a first complete-text term from among the oneor more complete-text terms displayed by the device, and (vi)displaying, by the display, the first selected complete-text term withinthe text field. In accordance with the set of example functions, each ofthe one or more complete-text terms is associated with the vehicleidentifier and the first text entry and each of the one or morecomplete-text terms includes at least one more text character than thefirst text entry.

As another example, the set of example functions can include one or moreof the functions (i), (ii), (iii), (iv), (v) and (vi) listed in theprevious paragraph and at least one other function of any of thefunctions described herein as being performed by a VST, or any componentof a VST.

V. Conclusion

Example embodiments have been described above. Those skilled in the artwill understand that changes and modifications can be made to thedescribed embodiments without departing from the true scope and spiritof the present invention, which is defined by the claims. For instance,although many of the example embodiments are described with respect to avehicle and a vehicle service tool, the person skilled in the art willunderstand that the vehicle referred to herein can be replaced by someother serviceable device such as, but not limited to, medical equipment,appliances (e.g., refrigerators or washing machines), or televisions. Insuch instance, the vehicle service tools described herein can bereferred to more simply as a “service tool.”

We claim:
 1. A method comprising: receiving, at one or more processors,a first vehicle identifier associated with a particular vehicle, whereinthe first vehicle identifier includes a first vehicle model year, afirst vehicle make, and a first vehicle model name; receiving, at theone or more processors, a use indicator indicating a time associatedwith the particular vehicle or a distance associated with the particularvehicle; receiving, at the one or more processors, a first text entryentered within a text field displayed on a display; determining, at theone or more processors, one or more complete-text terms conditioned onthe use indicator, wherein each of the one or more complete-text termsbegins with the first text entry and includes at least one more textcharacter than the first text entry; displaying, on the display, the oneor more complete-text terms prior to selection of a first complete-textterm from among the one or more complete-text terms; receiving, at theone or more processors, a selection of the first complete-text term fromamong the one or more complete-text terms displayed on the display; anddisplaying, on the display, the first complete-text term within the textfield.
 2. A method according to claim 1, wherein determining one or morecomplete-text terms conditioned on the use indicator includesdetermining that the one or more complete-text terms are associated witha time or distance range including the use indicator.
 3. A methodaccording to claim 2, further comprising: excluding from the one or morecomplete-text terms conditioned on the use indicator, by the one or moreprocessors, one or more other complete-text terms that are notassociated with the time or distance range.
 4. A method according toclaim 1, wherein determining one or more complete-text terms conditionedon the use indicator includes determining, at the one or moreprocessors, complete-text terms associated with metadata indicative ofthe first vehicle identifier and the use indicator.
 5. A methodaccording to claim 1, further comprising: receiving, at the one or moreprocessors, a second text entry entered within the text field displayingthe first complete-text term; determining, at the one or moreprocessors, one or more additional complete-text terms, wherein each ofthe one or more additional complete-text terms is associated with thefirst vehicle identifier and the second text entry, wherein each of theone or more additional complete-text terms includes at least one moretext character than the second text entry; displaying, on the display,the one or more additional complete-text terms prior to selection of asecond complete-text term from among the one or more additionalcomplete-text terms; receiving, at the one or more processors, aselection of the second complete-text term from among the one or moreadditional complete-text terms displayed on the display; and displaying,on the display, the first complete-text term and the secondcomplete-text term within the text field.
 6. A method according to claim1, wherein receiving the first text entry includes receiving a firstsequence of text characters and at least one additional text charactersuch that a second sequence of text characters including the firstsequence of text characters and the at least one additional textcharacter is received, and wherein determining one or more complete-textterms includes determining that at least one complete-text term thatmatches the first sequence of text characters does not match the secondsequence of text characters and excluding the at least one complete-textterm from the one or more complete-text terms.
 7. A method according toclaim 1, further comprising: generating, at the one or more processors,a repair order including the first complete-text term within a repairorder field corresponding to the text field displayed on the display;and tagging, at the one or more processors, the repair order to identifythat the first complete-text term was inserted into the repair orderfield.
 8. A method according to claim 1, further comprising: storing, ata non-transitory computer-readable medium, a database of complete-textterms, and, for each stored complete-text term, at least one prior textentry associated with the stored complete-text term, wherein determiningone or more complete-text terms includes determining, from the databaseof complete-text terms, the at least one prior text entry associatedwith the stored complete-text term matches the first text entry, andoptionally wherein the database of complete-text terms includes a set ofcomplete-text terms associated with the first text entry, the set ofcomplete-text terms includes the first complete-text term and at leastone other complete-text term, and the complete-text terms of the set ofcomplete-text terms are ordered in a sequence based on a rate at whicheach of the complete-text terms was previously selected to complete atext term within a text field.
 9. A method according to claim 1, furthercomprising: modifying, at the one or more processors, a statisticregarding selection or non-selection of each complete-text term amongthe one or more complete-text terms, wherein displaying the one or morecomplete-text terms includes displaying the one or more complete-textterms based on the statistic regarding selection or non-selection ofeach complete-text term among the one or more complete-text terms priorto the one or more processors modifying the statistic.
 10. A methodaccording to claim 1, wherein the one or more complete-text termsincludes at least two complete-text terms, the method furthercomprising: determining, at the one or more processors, an order fordisplaying the at least two complete-text terms, wherein the order isbased, at least in part, on a statistic corresponding to eachcomplete-text term being selected or non-selected as a complete-textterm after being displayed in response to prior instances of text-entryinto a displayed text field, wherein displaying the one or morecomplete-text terms includes displaying the one or more complete-textterms according to the order for displaying the at least twocomplete-text terms.
 11. A method according to claim 1, furthercomprising: receiving a selection of enabling a vehicle leveraging modeor disabling the vehicle leveraging mode, and wherein the one or morecomplete-text terms conditioned on the use indicator change uponreceiving the selection of enabling the vehicle leveraging mode ordisabling the vehicle leveraging mode.
 12. A method according to claim1, further comprising: switching, at the one or more processors, avehicle leveraging mode programmed into the one or more processors froma disable stated to an enabled state; changing, at the one or moreprocessors in response to the vehicle leveraging mode switching to theenabled state, the one or more complete-text terms displayed on thedisplay prior to selection of the first complete-text term; displaying,on the display in response to switching the vehicle leveraging mode tothe enabled state, a vehicle identifier field showing the first vehicleidentifier and at least a second vehicle identifier, wherein the secondvehicle identifier includes a second vehicle model year, a secondvehicle make, and a second vehicle model name, and wherein a combinationof the first vehicle model year, the first vehicle make, and the firstvehicle model name is different than a combination of the second vehiclemodel year, the second vehicle make, and the second vehicle model name.13. A method according to claim 12, displaying, on the display inresponse to switching the vehicle leveraging mode to the enabled state,the vehicle identifier field showing the first vehicle identifier and atleast a second vehicle identifier, wherein the first vehicle identifierfurther includes one or both of a first engine identifier and a firstsystem identifier, wherein the second vehicle identifier includes asecond vehicle model year, a second vehicle make, a second vehicle modelname, and one or both of a second engine identifier and a second systemidentifier, and wherein a combination of the first vehicle model year,the first vehicle make, the first vehicle model name, and one or both ofthe first engine identifier and the first system identifier is differentthan a combination of the second vehicle model year, the second vehiclemake, the second vehicle model name, and one or both of the secondengine identifier and the second system identifier.
 14. A methodaccording to claim 12, further comprising one or more from among: (A)displaying, on the display, a vehicle leveraging indicator configured toindicate the vehicle leveraging mode is in a disabled state after theone or more processors has switched the vehicle leveraging mode to thedisabled state and to indicate the vehicle leveraging mode is in theenabled state after the one or more processors has switched the vehicleleveraging mode to the enabled state; (B) receiving, at the one or moreprocessors, a manual selection to enable the vehicle leveraging mode,wherein the manual selection is made via the display or a user input keycommunicatively coupled to the one or more processors, and whereinswitching to an enabled stated occurs in response to receiving themanual selection; or (C) displaying, on the display, a diagnostictrouble code field including at least a first diagnostic trouble codeidentifier associated with a particular diagnostic trouble code set inthe particular vehicle; and changing, at the one or more processors inresponse to the vehicle leveraging mode switching to the enabled state,the diagnostic trouble code field to display at least the firstdiagnostic trouble code identifier and a second diagnostic trouble codeidentifier.
 15. A method according to claim 1, wherein receiving thefirst vehicle identifier includes the one or more processors receiving avehicle data message from the particular vehicle, and wherein thevehicle data message includes at least a portion of a vehicleidentification number associated with the particular vehicle.
 16. Amethod according to claim 1, wherein at least one of the one or morecomplete-text terms includes two or more separate words, and optionally,wherein receiving the first text entry includes receiving textcharacters of a first word of two or more separate words, a space, andat least one character of a second word of the two or more separatewords.
 17. A system comprising: a user interface including a display;one or more processors; and a non-transitory computer-readable mediumstoring computer-readable program instructions executable at the one ormore processors to perform a set of functions, the set of functionscomprising: receiving a first vehicle identifier associated with aparticular vehicle, wherein the first vehicle identifier includes afirst vehicle model year, a first vehicle make, and a first vehiclemodel name; receiving a use indicator indicating a time associated withthe particular vehicle or a distance associated with the particularvehicle; receiving a first text entry entered within a text fielddisplayed on a display; determining one or more complete-text termsconditioned on the use indicator, wherein each of the one or morecomplete-text terms begins with the first text entry and includes atleast one more text character than the first text entry; outputting, fordisplaying on the display, the one or more complete-text terms prior toselection of a first complete-text term from among the one or morecomplete-text terms; receiving a selection of the first complete-textterm from among the one or more complete-text terms displayed on thedisplay; and outputting, for displaying on the display, the firstcomplete-text term within the text field.
 18. A system according toclaim 17, wherein determining one or more complete-text termsconditioned on the use indicator includes determining that the one ormore complete-text terms are associated with a time or distance rangeincluding the use indicator.
 19. A system according to claim 18, whereinthe set of functions further includes: excluding from the one or morecomplete-text terms conditioned on the use indicator, by the one or moreprocessors, one or more other complete-text terms that are notassociated with the time or distance range.
 20. A system according toclaim 17, wherein determining one or more complete-text termsconditioned on the use indicator includes determining, at the one ormore processors, complete-text terms associated with metadata indicativeof the first vehicle identifier and the use indicator.
 21. A systemaccording to claim 17, a communication link transceiver to receive acomplete set of complete-text terms or a partial set of complete-textterms, wherein the complete set of complete-text terms or the partialset of complete-text terms is based on, at least in part, the firstvehicle identifier and the use indicator.
 22. A system according toclaim 21, wherein the communication link transceiver is configured totransmit a request for a set of complete-text terms, wherein the requestfor the set of complete-text terms includes the first vehicle identifierand the use indicator, and wherein the complete set of complete-textterms or the partial set of complete-text terms is received in responseto the request for the set of complete-text terms.
 23. A systemaccording to claim 17, wherein the set of functions further comprise:receiving, at the one or more processors, a second text entry enteredwithin the text field displaying the first complete-text term;determining, at the one or more processors, one or more additionalcomplete-text terms, wherein each of the one or more additionalcomplete-text terms is associated with the first vehicle identifier andthe second text entry, wherein each of the one or more additionalcomplete-text terms includes at least one more text character than thesecond text entry; displaying, on the display, the one or moreadditional complete-text terms prior to selection of a secondcomplete-text term from among the one or more additional complete-textterms; receiving, at the one or more processors, a selection of thesecond complete-text term from among the one or more additionalcomplete-text terms displayed on the display; and displaying, on thedisplay, the first complete-text term and the second complete-text termwithin the text field.
 24. A system according to claim 17, whereinreceiving the first text entry includes receiving a first sequence oftext characters and at least one additional text character such that asecond sequence of text characters including the first sequence of textcharacters and the at least one additional text character is received,and wherein determining one or more complete-text terms includesdetermining that at least one complete-text term that matches the firstsequence of text characters does not match the second sequence of textcharacters and excluding the at least one complete-text term from theone or more complete-text terms.
 25. A system according to claim 17,wherein the set of functions further comprise: generating, at the one ormore processors, a repair order including the first complete-text termwithin a repair order field corresponding to the text field displayed onthe display; and tagging, at the one or more processors, the repairorder to identify that the first complete-text term was inserted intothe repair order field.
 26. A system according to claim 17, wherein theset of functions further comprise: storing, at a non-transitorycomputer-readable medium, a database of complete-text terms, and, foreach stored complete-text term, at least one prior text entry associatedwith the stored complete-text term, wherein determining one or morecomplete-text terms includes determining, from the database ofcomplete-text terms, the at least one prior text entry associated withthe stored complete-text term matches the first text entry, andoptionally wherein the database of complete-text terms includes a set ofcomplete-text terms associated with the first text entry, the set ofcomplete-text terms includes the first complete-text term and at leastone other complete-text term, and the complete-text terms of the set ofcomplete-text terms are ordered in a sequence based on a rate at whicheach of the complete-text terms was previously selected to complete atext term within a text field.
 27. A system according to claim 17,wherein the set of functions further comprise: modifying, at the one ormore processors, a statistic regarding selection or non-selection ofeach complete-text term among the one or more complete-text terms,wherein displaying the one or more complete-text terms includesdisplaying the one or more complete-text terms based on the statisticregarding selection or non-selection of each complete-text term amongthe one or more complete-text terms prior to the one or more processorsmodifying the statistic.
 28. A system according to claim 17, wherein theone or more complete-text terms includes at least two complete-textterms, wherein the set of functions further comprise determining, at theone or more processors, an order for displaying the at least twocomplete-text terms, wherein the order is based, at least in part, on astatistic corresponding to each complete-text term being selected ornon-selected as a complete-text term after being displayed in responseto prior instances of text-entry into a displayed text field, andwherein displaying the one or more complete-text terms includesdisplaying the one or more complete-text terms according to the orderfor displaying the at least two complete-text terms.
 29. A systemaccording to claim 17, wherein the set of functions further comprise:receiving a selection of enabling a vehicle leveraging mode or disablingthe vehicle leveraging mode, and wherein the one or more complete-textterms conditioned on the use indicator change upon receiving theselection of enabling the vehicle leveraging mode or disabling thevehicle leveraging mode.
 30. A system according to claim 17, wherein theset of functions further comprise: switching, at the one or moreprocessors, a vehicle leveraging mode programmed into the one or moreprocessors from a disable stated to an enabled state; changing, at theone or more processors in response to the vehicle leveraging modeswitching to the enabled state, the one or more complete-text termsdisplayed on the display prior to selection of the first complete-textterm; displaying, on the display in response to switching the vehicleleveraging mode to the enabled state, a vehicle identifier field showingthe first vehicle identifier and at least a second vehicle identifier,wherein the second vehicle identifier includes a second vehicle modelyear, a second vehicle make, and a second vehicle model name, andwherein a combination of the first vehicle model year, the first vehiclemake, and the first vehicle model name is different than a combinationof the second vehicle model year, the second vehicle make, and thesecond vehicle model name.
 31. A system according to claim 30, whereinthe set of functions further comprise: displaying, on the display inresponse to switching the vehicle leveraging mode to the enabled state,the vehicle identifier field showing the first vehicle identifier and atleast a second vehicle identifier, wherein the first vehicle identifierfurther includes one or both of a first engine identifier and a firstsystem identifier, wherein the second vehicle identifier includes asecond vehicle model year, a second vehicle make, a second vehicle modelname, and one or both of a second engine identifier and a second systemidentifier, and wherein a combination of the first vehicle model year,the first vehicle make, the first vehicle model name, and one or both ofthe first engine identifier and the first system identifier is differentthan a combination of the second vehicle model year, the second vehiclemake, the second vehicle model name, and one or both of the secondengine identifier and the second system identifier.
 32. A systemaccording to claim 30, wherein the set of functions further comprise oneor more from among: (A) displaying, on the display, a vehicle leveragingindicator configured to indicate the vehicle leveraging mode is in adisabled state after the one or more processors has switched the vehicleleveraging mode to the disabled state and to indicate the vehicleleveraging mode is in the enabled state after the one or more processorshas switched the vehicle leveraging mode to the enabled state; (B)receiving, at the one or more processors, a manual selection to enablethe vehicle leveraging mode, wherein the manual selection is made viathe display or a user input key communicatively coupled to the one ormore processors, and wherein switching to an enabled stated occurs inresponse to receiving the manual selection; or (C) displaying, on thedisplay, a diagnostic trouble code field including at least a firstdiagnostic trouble code identifier associated with a particulardiagnostic trouble code set in the particular vehicle; and changing, atthe one or more processors in response to the vehicle leveraging modeswitching to the enabled state, the diagnostic trouble code field todisplay at least the first diagnostic trouble code identifier and asecond diagnostic trouble code identifier.
 33. A system according toclaim 17, wherein receiving the first vehicle identifier includes theone or more processors receiving a vehicle data message from theparticular vehicle, and wherein the vehicle data message includes atleast a portion of a vehicle identification number associated with theparticular vehicle.
 34. A system according to claim 17, wherein at leastone of the one or more complete-text terms includes two or more separatewords, and optionally, wherein receiving the first text entry includesreceiving text characters of a first word of two or more separate words,a space, and at least one character of a second word of the two or moreseparate words.
 35. A non-transitory computer-readable medium havingstored therein instructions executable by one or more processors tocause a computing system having a display screen and the one or moreprocessors to perform functions comprising: receiving, at one or moreprocessors, a first vehicle identifier associated with a particularvehicle, wherein the first vehicle identifier includes a first vehiclemodel year, a first vehicle make, and a first vehicle model name;receiving, at the one or more processors, a use indicator indicating atime associated with the particular vehicle or a distance associatedwith the particular vehicle; receiving, at the one or more processors, afirst text entry entered within a text field displayed on a display;determining, at the one or more processors, one or more complete-textterms conditioned on the use indicator, wherein each of the one or morecomplete-text terms begins with the first text entry and includes atleast one more text character than the first text entry; displaying, onthe display, the one or more complete-text terms prior to selection of afirst complete-text term from among the one or more complete-text terms;receiving, at the one or more processors, a selection of the firstcomplete-text term from among the one or more complete-text termsdisplayed on the display; and displaying, on the display, the firstcomplete-text term within the text field.
 36. A non-transitorycomputer-readable medium according to claim 35, wherein determining oneor more complete-text terms conditioned on the use indicator includesdetermining that the one or more complete-text terms are associated witha time or distance range including the use indicator.
 37. Anon-transitory computer-readable medium according to claim 36, furthercomprising: excluding from the one or more complete-text termsconditioned on the use indicator, by the one or more processors, one ormore other complete-text terms that are not associated with the time ordistance range.
 38. A non-transitory computer-readable medium accordingto claim 35, wherein determining one or more complete-text termsconditioned on the use indicator includes determining, at the one ormore processors, complete-text terms associated with metadata indicativeof the first vehicle identifier and the use indicator.